Cuando trato de importar el módulo fs en mi propio módulo como import * as fs from 'fs' aparece el siguiente error en la consola del navegador:
Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../" .
Usar require o usar una ruta relativa al módulo como ./node_modules/fs no funcionará, ¿hay alguna otra forma de importar el módulo fs correctamente?
Tiene dos problemas básicos, ambos derivados del hecho de que está ejecutando este código en un navegador y no en Node.js.
Pasar algo como 'fs' para import depende de la resolución del módulo de estilo Node.js. Node.js buscará en el contenido de la carpeta node_modules los módulos coincidentes. Los navegadores no pueden hacer eso, no tienen un sistema de archivos para buscar; solo tratan con URL.
Cuando se trata de módulos en un navegador, debe pasar:
/fs o http://example.com/fs )../fs o ./fs ).… tal como dice el mensaje de error.
(Por lo general, también deberá colocar un .js al final de la URL porque es poco probable que su servidor HTTP lo haga por usted).
También necesita usar un módulo que se ejecutará en un navegador en primer lugar.
fs es un módulo integrado de Node.js. Hace cosas que los navegadores no permiten que haga JavaScript (como acceder al sistema de archivos).
Si desea usar el módulo fs , no puede usarlo directamente desde el navegador. En su lugar, escriba un servicio web en Node.js (el módulo Express.js es útil aquí) y acceda a él desde el navegador usando Ajax (por ejemplo, la API de fetch ). Esto se ocupará del sistema de archivos del servidor, no del navegador.
Si desea acceder a los archivos en la computadora del usuario, deberá usar <input type="file"> y la API de FileReader .